package org.zpmis.domain.invoice.qo;

import lombok.Data;
import org.zpmis.domain.invoice.model.Invoice;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

@Data
public class ApplyInvoiceQo {

    /**
     * 开票业务id，可以是订单id  合同id  账单id 等
     */
    @NotNull(message = "业务id不能为空")
    private Long businessId;

    /**
     * 开票业务类型，1订单 2合同 3账单 可以是订单 合同 账单 等
     */
    private Integer businessType;

    /**
     * 开票金额
     */
    @NotEmpty(message = "开票金额不能为空")
    private String invoiceAmount;

    /**
     * 发票类型 1纸质 2电子 3电子普通发票
     */
    @NotNull(message = "发票类型不能为空")
    private Integer invoiceType;

    /**
     * 开票类型 1增值税专用发票 2增值税普通发票
     */
    @NotNull(message = "开票类型不能为空")
    private Integer openInvoiceType;

    /**
     * 开票企业名称
     */
    @NotEmpty(message = "开票企业名称不能为空")
    private String invoiceCompanyName;

    /**
     * 纳税人识别号
     */
    private String invoiceTaxpayerIdentiNumber;

    /**
     * 开户银行
     */
    private String bankName;

    /**
     * 开户名
     */
    private String bankAccountName;

    /**
     * 开户账号
     */
    private String bankAccount;

    /**
     * 开票地址
     */
    private String invoiceAddress;

    /**
     * 开票电话
     */
    private String invoiceMobile;

    /**
     * 收货人
     */
    private String consignee;
    /**
     * 收货地址
     */
    private String deliveryAdress;
    /**
     * 收货人电话
     */
    private String deliveryMobile;
    /**
     * 邮箱
     */
    private String email;

}